/**
 * @file            文件名:                WinyunqConfigure.h
 * @brief           函数简介                                      
 *  @details        【不能简单描述则必选】如果不能一句话描述函数，请使用Details进行详细描述
 * 
 * @author          Winyunq             创建
 * @version         版本:                 1.0.0
 * @date            2022-11-12          创建
 * 
 * Copyright (c) 2022  Winyunq科技公司
 */

#ifndef __WinyunqConfigure_H
#define __WinyunqConfigure_H
#ifdef __cplusplus
extern "C" {
#endif
typedef char boolean;
typedef unsigned char uint8;

#define KeyboardConfigureSize 20

#define WinyunqDeviceURL "WinyunqKeyboard"

#define InitConfigureData() EEPROM_READ(0, KeyboardConfigure.data, KeyboardConfigureSize)

#ifndef  __WinyunqConfigure_C
/// 若此时不在WinyunqConfigure.c内，则以extern形式访问KeyboardConfigure
#define Extern extern

#else

#define Extern 

#endif

Extern union 
{ 
  struct 
  { 
    boolean isSignleKey : 1;  ///< 单个按键，0:按下按键连续发送ReportType对应的按键及其状态键；1:按键按下后等于ReportKey所对应的按键 
    boolean isSignleTouch : 1;  ///< 单点模式，0：连点器状态；1：单个按键状态 
    boolean help : 1; ///< 未定义
    boolean LEDOn : 1; ///< LED常开 
    uint8 ReportKey[19];  ///< 单个按键所上报的按键 
  } details; ///< 以具体变量成员访问
  uint8 data[KeyboardConfigureSize]; ///< 以缓冲区形式访问
} KeyboardConfigure;///< 设备配置文件 
#ifdef __cplusplus
}

#endif

#endif
